package com.soyorin.order.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
import java.time.LocalDateTime;

@Data
@TableName("`order`")
public class Order {
    @TableId(type = IdType.AUTO)
    private Long id;
    
    @TableField("create_time")
    private Instant createTime;
    
    @TableField("update_time")
    private Instant updateTime;
    
    // 用户关联字段
    @TableField("rela_c_user_id")
    private Long relaCUserId;
    
    @TableField("rela_b_user_id")
    private Long relaBUserId;
    
    @TableField("rela_r_user_id")
    private Long relaRUserId;
    
    // 状态字段
    @TableField("is_b_define")
    private Boolean bDefine;
    
    @TableField("is_r_define")
    private Boolean rDefine;
    
    @TableField("is_cooked")
    private Boolean cooked;
    
    @TableField("is_arrive_b")
    private Boolean arriveB;
    
    @TableField("is_arrive_c")
    private Boolean arriveC;
    
    @TableField("is_rate")
    private Boolean rate;
    
    // 位置信息字段
    @TableField("c_position_x")
    private Double cPositionX;
    
    @TableField("c_position_y")
    private Double cPositionY;
    
    @TableField("b_position_x")
    private Double bPositionX;
    
    @TableField("b_position_y")
    private Double bPositionY;
    
    @TableField("r_position_x")
    private Double rPositionX;
    
    @TableField("r_position_y")
    private Double rPositionY;
    
    // 时间信息字段
    @TableField("start_time")
    private LocalDateTime startTime;
    
    @TableField("cooked_time")
    private LocalDateTime cookedTime;
    
    @TableField("arrive_b_time")
    private LocalDateTime arriveBTime;
    
    @TableField("arrive_c_time")
    private LocalDateTime arriveCTime;
    
    // 评价信息字段
    @TableField("rating")
    private Integer rating;
    
    @TableField("rating_content")
    private String ratingContent;
}
